package com.zmn.oms.persistence.interfaces.redistribute;

import com.zmn.oms.model.query.redistribute.OrderWorkRedistributeExport;
import com.zmn.oms.model.query.redistribute.OrderWorkRedistributeQuery;
import com.zmn.oms.model.entity.redistribute.OrderWorkRedistributeInfo;
import com.zmn.oms.model.vo.redistribute.OrderWorkRedistributeInfoVO;

import java.util.List;

/**
 * 类描述：改派工单信息表
 *
 * @author liudi
 * @date 2022/5/11 14:10
 */
public interface OrderWorkRedistributeInfoDao {

    /**
     * 分页查询
     *
     * @param query
     * @return
     */
    List<OrderWorkRedistributeInfoVO> listPageByQuery(OrderWorkRedistributeQuery query);

    /**
     * 查询列表数量
     *
     * @param query
     * @return
     */
    Integer countByQuery(OrderWorkRedistributeQuery query);

    /**
     * 根据Id查找改派申请及详细信息
     *
     * @param id 改派Id
     * @return
     */
    OrderWorkRedistributeInfoVO findApplyInfoByRedistributeId(Long id);

    /**
     * 根据Id查改派信息
     *
     * @param redistributeId
     * @return
     */
    OrderWorkRedistributeInfo findRedistributeInfoById(Long redistributeId);

    /** 
     * 查询导出的列表数据
     *
     * @param query
     * @return 
     */
    List<OrderWorkRedistributeExport> asyncExportListRedistributeByQuery(OrderWorkRedistributeQuery query);

    int deleteByPrimaryKey(Long redistributeId);

    int insert(OrderWorkRedistributeInfo record);

    int insertSelective(OrderWorkRedistributeInfo record);

    int updateByPrimaryKeySelective(OrderWorkRedistributeInfo record);

    int updateByPrimaryKey(OrderWorkRedistributeInfo record);
}